#!/bin/sh
# ///******************** NG.Respate(C)  **********************************
# //* 产品名称: mk-arm.sh
# //* 程序作者: Respate
# //* 程序版本: V1.1														   
# //* 编制日期: 2020/7/18
# //* 功能描述: 主要用于更新文件、安装、测试、卸载驱动等功能
# //* SPDX-License-Identifier:	GPL-2.0+
# //* QQ:	2085827949
# //**********************************************************************/

# 开发板 mk脚本提示信息
BOARD_MK_INFO=" ^_^ (bord)this is shell for apt module,and run programe.......\n
--By Respate(2019-9-11)\n
QQ:2085827949"


#######################################################################################
# 从pc拷贝文件到 开发板
#######################################################################################
function copy_pc2bd
{
	echo -e "\nCopy files from pc to board now ........"
	
	# 检测目标文件夹是否存在
    if [ ! -d $BD_SCR_DIR ] ||  [ ! -d $BD_PRO_DIR ]; then
		echo "targ dir not find"
		exit
    fi

	# 拷贝到目标文件夹
	cp -rf $BD_SCR_DIR/* $BD_PRO_DIR/
	
	# 删除nfs目录下二进制文件
	rm -f $BD_SCR_DIR/*.ko
    rm -f $BD_SCR_DIR/*.o

	# 添加执行权限
	chmod 755 -R $BD_PRO_DIR/
}

#######################################################################################
# 安装驱动模块
#######################################################################################
function lap_insmod
{
	echo -e "\ninsmod now ........"
	
	cd ${BD_PRO_DIR}
	mod=$(ls |grep *ko)
	
	if [ -n $mod ]; then
		echo "modules: $mod"
		insmod $mod
	else
		echo "not find modules"
	fi
	
	cd - >> /dev/null
	exit 0
}


#######################################################################################
# 卸载驱动模块
#######################################################################################
function lap_rmmod
{
	echo -e "\nrmmod now ........"
	
	cd $BD_PRO_DIR
	rmmod $(ls |grep *.ko)
	cd - >> /dev/null
	exit 0
}


#######################################################################################
# 显示demsg 错误信息
#######################################################################################
function msg_err
{
	echo -e "\ndmesg | grep err ........\n"
	
	dmesg | grep err
}

#######################################################################################
# 显示demsg 正确信息
#######################################################################################
function msg_ok
{
	echo -e "\ndmesg | grep ok ........\n"
	
	dmesg | grep ok
}

#######################################################################################
# 显示demsg lap信息
#######################################################################################
function msg_lap
{
	echo -e "\ndmesg | grep lap ........\n"
	
	dmesg | grep lap
}

#######################################################################################
# 显示运行app
#######################################################################################
function run
{
	echo -e "\nrun app ........\n"
	./lap.o
}


#=======================================================================================
#==	开发板 mk脚本使用 帮助文档
#=======================================================================================
function board_helping
{
	echo "./mk      	--For update file and buid uboot then fusing to sd card!"
	echo "./mk err    	--For showe dmesg err info!"
	echo "./mk ok		--For showe dmesg ok info!"
	echo "./mk lap   	--For showe dmesg lap info!"
	echo "./mk in    	--For insmod $BD_PRO_DIR mode!"
	echo "./mk rm	 	--For rmmod mode!"
	echo "./mk run   	--For runing program!"
	echo "./mk help  	--For get helping!"
}








#######################################################################################
# 脚本执行的起始位置
#:判断是否传参，如果没有就编译uboot
#
#######################################################################################

echo -e ${BOARD_MK_INFO}    # 打印开发板 mcu平台信息
copy_pc2bd ;                # 从pc端nfs文件夹拷贝文件到开发板nfs文件夹中

# 在开虚拟机中运行此脚本	
if [ -z $1 ]; then

    exit 0
    
elif [ $1 = "err" ]; then       # 打印错误信息
    msg_err ;
    
elif [ $1 = "ok" ]; then        # 
    msg_ok ;
    
elif [ $1 = "lap" ]; then
    msg_lap ;
    
elif [ $1 = "run" ]; then       # 运行驱动
    run ;

elif [ $1 = "in" ]; then        # 安装驱动
    lap_insmod ;
    
elif [ $1 = "rm" ]; then       # 卸载驱动
    lap_rmmod ;
else
    board_helping ;
fi

exit 0

